package com.aaa.doctor.service;

import com.aaa.doctor.vo.RegistrationVo;
import com.aaa.entity.Registration;
import com.aaa.vo.Result;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

public interface RegistrationService {

    /**
     * 查询所有挂号信息
     * @param currentPage
     * @param pageSize
     * @param registrationVo
     * @return
     */
    Result<IPage<Registration>> getAllInfo(Integer currentPage, Integer pageSize, RegistrationVo registrationVo);

    /**
     * 获取被收费人的registrationId
     * registrationId ---> 修改status
     * @param registrationId
     * @return
     */
    Result<String> updStatus(String registrationId);

    /**
     * 作废
     * registrationId ---> 修改status
     * @param registrationId
     * @return
     */
    Result<String> updByrIdStatus(String registrationId);

    /**
     * 查询待就诊的所有信息
     * @return
     */
    Result<List<Registration>> getWaitSchedulingType(String schedulingType);

    /**
     * 查询就诊中的所有信息
     * @param schedulingType
     * @return
     */
    Result<List<Registration>> getVisitingSchedulingType(String schedulingType);

    /**
     * 查询就诊完成的所有信息
     * @param schedulingType
     * @return
     */
    Result<List<Registration>> getFinishSchedulingType(String schedulingType);

    /**
     * 接诊，更新挂号的状态为就诊中
     * @param registrationId
     * @return
     */
    Result<String> updSchedulingType(String registrationId);

    /**
     * 新开就诊页面
     * 完成就诊 -- 更改状态为就诊完成
     * @param registrationId
     * @return
     */
    Result<String> updvisitCompleteSchedulingType(String registrationId);

    /**
     * 查询收费是否成功
     * @param registrationId
     * @return
     */
    Result getRegId(String registrationId);
}
